package bean;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="tipo", discriminatorType=DiscriminatorType.STRING)
@Table(name = "Empleado")
public class EmpleadoBean {
	

	@Id
	@GeneratedValue
	private int idEmpleado;
	
	private String nombre;
	private String apellido;
	private String idUsuario;
	private String password;
	
	@OneToMany (cascade = CascadeType.ALL, fetch=FetchType.EAGER)
	@JoinColumn(name = "idEmpleado")
	private List<IngresoUsuarioBean> ingresos;
	
	
	@ManyToOne
	@JoinColumn (name = "idArea")
	private AreaBean area;
	

	public String getIdUsuario() {
		return idUsuario;
	}
	public void setIdUsuario(String idUsuario) {
		this.idUsuario = idUsuario;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getIdEmpleado() {
		return idEmpleado;
	}
	public void setIdEmpleado(int idEmpleado) {
		this.idEmpleado = idEmpleado;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public void setArea(AreaBean area) {
		this.area = area;
	}
	public AreaBean getArea() {
		return area;
	}
	public void setIngresos(List<IngresoUsuarioBean> ingresos) {
		this.ingresos = ingresos;
	}
	public List<IngresoUsuarioBean> getIngresos() {
		return ingresos;
	}

	

}
